package cn.iocoder.lw.module.core.controller.admin.workorder.vo.report;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;

/**
 * 工单总体统计响应 VO
 */
@Schema(description = "管理后台 - 工单总体统计响应 VO")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WorkOrderOverallStatisticsRespVO {

    @Schema(description = "工单总数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long totalWorkOrderCount;

    @Schema(description = "已完成工单数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long completedWorkOrderCount;

    @Schema(description = "进行中工单数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long inProgressWorkOrderCount;

    @Schema(description = "待处理工单数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long pendingWorkOrderCount;

    @Schema(description = "已取消工单数", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long cancelledWorkOrderCount;

    @Schema(description = "工单总金额", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal totalAmount;

    @Schema(description = "平均工单金额", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal averageAmount;

    @Schema(description = "完成率", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal completionRate;

    @Schema(description = "平均处理时长（小时）", requiredMode = Schema.RequiredMode.REQUIRED)
    private BigDecimal averageProcessHours;

}